﻿namespace OpenSage.Scripting;

// TODO: Check if BFME reused existing ScriptArgumentType values. It probably did...
// in which case we'll need a ScriptArgumentType per game.
public enum ScriptArgumentType : uint
{
    Integer = 0,
    RealNumber = 1,
    ScriptName = 2,
    TeamName = 3,
    CounterName = 4,
    FlagName = 5,
    Comparison = 6,
    WaypointName = 7,
    Boolean = 8,
    TriggerAreaName = 9,
    Text = 10,
    PlayerName = 11,
    SoundName = 12,
    SubroutineName = 13,
    UnitName = 14,
    ObjectName = 15,
    PositionCoordinate = 16,
    Angle = 17,
    TeamState = 18,
    Relation = 19,
    AiMood = 20,
    SpeechName = 21,
    MusicName = 22,
    MovieName = 23,
    WaypointPathName = 24,
    LocalizedStringName = 25,
    BridgeName = 26,
    UnitOrStructureKind = 27,
    AttackPrioritySetName = 28,
    RadarEventType = 29,
    SpecialPowerName = 30,
    ScienceName = 31,
    UpgradeName = 32,
    UnitAbilityName = 33,
    BoundaryName = 34,
    Buildability = 35,
    SurfaceType = 36,
    CameraShakeIntensity = 37,
    CommandButtonName = 38,
    FontName = 39,
    ObjectStatus = 40,
    TeamAbilityName = 41,
    SkirmishApproachPath = 42,
    Color = 43,
    EmoticonName = 44,
    ObjectPanelFlag = 45,
    FactionName = 46,
    ObjectTypeListName = 47,
    MapRevealName = 48,
    ScienceAvailabilityName = 49,
    EvacuateContainerSide = 50,
    Percentage = 51,

    // Added in BFME
    Percentage2 = 52, // Dupe of 51, perhaps because BFME and ZH development overlapped?
    UnitReference = 54,
    TeamReference = 55,
    NearOrFar = 56,
    MathOperator = 57,
    ModelCondition = 58,
    AudioName = 59,
    ReverbRoomType = 60,
    ObjectType = 61,
    Hero = 62,
    Emotion = 63,
}
